/*
 Copyright (c) 2011, fisamo
 All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:

 Redistributions of source code must retain the above copyright notice, this
 list of conditions and the following disclaimer.
 Redistributions in binary form must reproduce the above copyright notice, this
 list of conditions and the following disclaimer in the documentation and/or
 other materials provided with the distribution.
 Neither the name of the fisamo nor the names of its contributors may be used
 to endorse or promote products derived from this software without specific
 prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef SOURCE_MODIFIEDGAUSSIANWINDOWS_H_
#define SOURCE_MODIFIEDGAUSSIANWINDOWS_H_

#include "source/Defs.h"
#include "opencv/cv.h"

enum Windows {
	mg3 = 0,
	mg5,
	mg9,
	mg17,
	mg25,
	mg35,
	WindowCount  // Should Always be last
};

static const cv::Mat win3 =
		(
			cv::Mat_<FLOAT>(3, 3) <<
			0.014900365252765, 0.110099634747235, 0.014900365252765,
			0.110099634747235, 0.5, 			  0.110099634747235,
			0.014900365252765, 0.110099634747235, 0.014900365252765
		);  // NOLINT(whitespace/parens)

static const cv::Mat win5 =
		(
			cv::Mat_<FLOAT>(5, 5) <<
			0.000559368216405, 0.004460127041867, 0.008910396783238, 0.004460127041867, 0.000559368216405, // NOLINT
			0.004460127041867, 0.03556285939421,  0.071047121522414, 0.03556285939421,  0.004460127041867, // NOLINT
			0.008910396783238, 0.071047121522414, 0.5,				 0.071047121522414, 0.008910396783238, // NOLINT
			0.004460127041867, 0.03556285939421,  0.071047121522414, 0.03556285939421,  0.004460127041867, // NOLINT
			0.000559368216405, 0.004460127041867, 0.008910396783238, 0.004460127041867, 0.000559368216405  // NOLINT
		);  // NOLINT(whitespace/parens)

static const cv::Mat win9 =
		(
			cv::Mat_<FLOAT>(9, 9) <<
			0.000031207084711, 0.000147850362581, 0.00044912974473,  0.00087478529266,  0.001092474623358, 0.00087478529266,  0.00044912974473,  0.000147850362581, 0.000031207084711, // NOLINT
			0.000147850362581, 0.000700473303355, 0.002127850012903, 0.004144485904389, 0.00517583653429,  0.004144485904389, 0.002127850012903, 0.000700473303355, 0.000147850362581, // NOLINT
			0.00044912974473,  0.002127850012903, 0.006463837601985, 0.012589836533236, 0.015722803115448, 0.012589836533236, 0.006463837601985, 0.002127850012903, 0.00044912974473,  // NOLINT
			0.00087478529266,  0.004144485904389, 0.012589836533236, 0.024521653187098, 0.030623838848759, 0.024521653187098, 0.012589836533236, 0.004144485904389, 0.00087478529266,  // NOLINT
			0.001092474623358, 0.00517583653429,  0.015722803115448, 0.030623838848759, 0.5,               0.030623838848759, 0.015722803115448, 0.00517583653429,  0.001092474623358, // NOLINT
			0.00087478529266,  0.004144485904389, 0.012589836533236, 0.024521653187098, 0.030623838848759, 0.024521653187098, 0.012589836533236, 0.004144485904389, 0.00087478529266,  // NOLINT
			0.00044912974473,  0.002127850012903, 0.006463837601985, 0.012589836533236, 0.015722803115448, 0.012589836533236, 0.006463837601985, 0.002127850012903, 0.00044912974473,  // NOLINT
			0.000147850362581, 0.000700473303355, 0.002127850012903, 0.004144485904389, 0.00517583653429,  0.004144485904389, 0.002127850012903, 0.000700473303355, 0.000147850362581, // NOLINT
			0.000031207084711, 0.000147850362581, 0.00044912974473,  0.00087478529266,  0.001092474623358, 0.00087478529266,  0.00044912974473,  0.000147850362581, 0.000031207084711  // NOLINT
		);  // NOLINT(whitespace/parens)

static const cv::Mat win17 =
		(
			cv::Mat_<FLOAT>(17, 17) <<
			0.000007411423928, 0.000017053507774, 0.000035113235507, 0.000064695344936, 0.000106664591311, 0.000157366603796, 0.000207754255471, 0.000245432653018, 0.000259453666976, 0.000245432653018, 0.000207754255471, 0.000157366603796, 0.000106664591311, 0.000064695344936, 0.000035113235507, 0.000017053507774, 0.000007411423928, // NOLINT
			0.000017053507774, 0.000039239710244, 0.000080794708353, 0.00014886242895,  0.000245432653018, 0.000362096761366, 0.00047803753307,  0.000564734617433, 0.000596996632515, 0.000564734617433, 0.00047803753307,  0.000362096761366, 0.000245432653018, 0.00014886242895,  0.000080794708353, 0.000039239710244, 0.000017053507774, // NOLINT
			0.000035113235507, 0.000080794708353, 0.000166356602971, 0.000306508291138, 0.000505346739245, 0.000745558569314, 0.000984281046564, 0.001162790663544, 0.001229218271781, 0.001162790663544, 0.000984281046564, 0.000745558569314, 0.000505346739245, 0.000306508291138, 0.000166356602971, 0.000080794708353, 0.000035113235507, // NOLINT
			0.000064695344936, 0.00014886242895,  0.000306508291138, 0.000564734617433, 0.000931089976062, 0.001373674858361, 0.001813515641662, 0.002142415587172, 0.002264806958006, 0.002142415587172, 0.001813515641662, 0.001373674858361, 0.000931089976062, 0.000564734617433, 0.000306508291138, 0.00014886242895,  0.000064695344936, // NOLINT
			0.000106664591311, 0.000245432653018, 0.000505346739245, 0.000931089976062, 0.00153510784847,  0.002264806958006, 0.002989981813155, 0.003532246149249, 0.003734035405694, 0.003532246149249, 0.002989981813155, 0.002264806958006, 0.00153510784847,  0.000931089976062, 0.000505346739245, 0.000245432653018, 0.000106664591311, // NOLINT
			0.000157366603796, 0.000362096761366, 0.000745558569314, 0.001373674858361, 0.002264806958006, 0.003341361691392, 0.004411241608526, 0.005211266207898, 0.005508974093701, 0.005211266207898, 0.004411241608526, 0.003341361691392, 0.002264806958006, 0.001373674858361, 0.000745558569314, 0.000362096761366, 0.000157366603796, // NOLINT
			0.000207754255471, 0.00047803753307,  0.000984281046564, 0.001813515641662, 0.002989981813155, 0.004411241608526, 0.005823689359616, 0.006879876066277, 0.007272907870174, 0.006879876066277, 0.005823689359616, 0.004411241608526, 0.002989981813155, 0.001813515641662, 0.000984281046564, 0.00047803753307,  0.000207754255471, // NOLINT
			0.000245432653018, 0.000564734617433, 0.001162790663544, 0.002142415587172, 0.003532246149249, 0.005211266207898, 0.006879876066277, 0.008127613230122, 0.008591925444242, 0.008127613230122, 0.006879876066277, 0.005211266207898, 0.003532246149249, 0.002142415587172, 0.001162790663544, 0.000564734617433, 0.000245432653018, // NOLINT
			0.000259453666976, 0.000596996632515, 0.001229218271781, 0.002264806958006, 0.003734035405694, 0.005508974093701, 0.007272907870174, 0.008591925444242, 0.500004443870477, 0.008591925444242, 0.007272907870174, 0.005508974093701, 0.003734035405694, 0.002264806958006, 0.001229218271781, 0.000596996632515, 0.000259453666976, // NOLINT
			0.000245432653018, 0.000564734617433, 0.001162790663544, 0.002142415587172, 0.003532246149249, 0.005211266207898, 0.006879876066277, 0.008127613230122, 0.008591925444242, 0.008127613230122, 0.006879876066277, 0.005211266207898, 0.003532246149249, 0.002142415587172, 0.001162790663544, 0.000564734617433, 0.000245432653018, // NOLINT
			0.000207754255471, 0.00047803753307,  0.000984281046564, 0.001813515641662, 0.002989981813155, 0.004411241608526, 0.005823689359616, 0.006879876066277, 0.007272907870174, 0.006879876066277, 0.005823689359616, 0.004411241608526, 0.002989981813155, 0.001813515641662, 0.000984281046564, 0.00047803753307,  0.000207754255471, // NOLINT
			0.000157366603796, 0.000362096761366, 0.000745558569314, 0.001373674858361, 0.002264806958006, 0.003341361691392, 0.004411241608526, 0.005211266207898, 0.005508974093701, 0.005211266207898, 0.004411241608526, 0.003341361691392, 0.002264806958006, 0.001373674858361, 0.000745558569314, 0.000362096761366, 0.000157366603796, // NOLINT
			0.000106664591311, 0.000245432653018, 0.000505346739245, 0.000931089976062, 0.00153510784847,  0.002264806958006, 0.002989981813155, 0.003532246149249, 0.003734035405694, 0.003532246149249, 0.002989981813155, 0.002264806958006, 0.00153510784847,  0.000931089976062, 0.000505346739245, 0.000245432653018, 0.000106664591311, // NOLINT
			0.000064695344936, 0.00014886242895,  0.000306508291138, 0.000564734617433, 0.000931089976062, 0.001373674858361, 0.001813515641662, 0.002142415587172, 0.002264806958006, 0.002142415587172, 0.001813515641662, 0.001373674858361, 0.000931089976062, 0.000564734617433, 0.000306508291138, 0.00014886242895,  0.000064695344936, // NOLINT
			0.000035113235507, 0.000080794708353, 0.000166356602971, 0.000306508291138, 0.000505346739245, 0.000745558569314, 0.000984281046564, 0.001162790663544, 0.001229218271781, 0.001162790663544, 0.000984281046564, 0.000745558569314, 0.000505346739245, 0.000306508291138, 0.000166356602971, 0.000080794708353, 0.000035113235507, // NOLINT
			0.000017053507774, 0.000039239710244, 0.000080794708353, 0.00014886242895,  0.000245432653018, 0.000362096761366, 0.00047803753307,  0.000564734617433, 0.000596996632515, 0.000564734617433, 0.00047803753307,  0.000362096761366, 0.000245432653018, 0.00014886242895,  0.000080794708353, 0.000039239710244, 0.000017053507774, // NOLINT
			0.000007411423928, 0.000017053507774, 0.000035113235507, 0.000064695344936, 0.000106664591311, 0.000157366603796, 0.000207754255471, 0.000245432653018, 0.000259453666976, 0.000245432653018, 0.000207754255471, 0.000157366603796, 0.000106664591311, 0.000064695344936, 0.000035113235507, 0.000017053507774, 0.000007411423928  // NOLINT
		);  // NOLINT(whitespace/parens)

static const cv::Mat win25 =
		(
			cv::Mat_<FLOAT>(25, 25) <<
			0.000001304578706, 0.000002503795036, 0.000004540538832, 0.000007780296464, 0.000012596939074, 0.0000192714345,   0.000027857567345, 0.000038049807709, 0.000049106827175, 0.000059884084574, 0.000069001905895, 0.000075126107849, 0.000077285998767, 0.000075126107849, 0.000069001905895, 0.000059884084574, 0.000049106827175, 0.000038049807709, 0.000027857567345, 0.0000192714345,   0.000012596939074, 0.000007780296464, 0.000004540538832, 0.000002503795036, 0.000001304578706, // NOLINT
			0.000002503795036, 0.000004805374759, 0.000008714367743, 0.000014932228759, 0.000024176504942, 0.000036986440017, 0.000053465259352, 0.000073026578819, 0.000094247613882, 0.000114931719381, 0.000132430974634, 0.000144184766404, 0.000148330107836, 0.000144184766404, 0.000132430974634, 0.000114931719381, 0.000094247613882, 0.000073026578819, 0.000053465259352, 0.000036986440017, 0.000024176504942, 0.000014932228759, 0.000008714367743, 0.000004805374759, 0.000002503795036, // NOLINT
			0.000004540538832, 0.000008714367743, 0.000015803180597, 0.00002707903944,  0.000043843189214, 0.000067073528281, 0.000096957251997, 0.000132430974634, 0.000170914529548, 0.000208424382742, 0.000240158628901, 0.000261473691512, 0.000268991113455, 0.000261473691512, 0.000240158628901, 0.000208424382742, 0.000170914529548, 0.000132430974634, 0.000096957251997, 0.000067073528281, 0.000043843189214, 0.00002707903944,  0.000015803180597, 0.000008714367743, 0.000004540538832, // NOLINT
			0.000007780296464, 0.000014932228759, 0.00002707903944,  0.000046400430122, 0.000075126107849, 0.000114931719381, 0.000166138027387, 0.000226922900942, 0.00029286517724,  0.000357138997803, 0.000411516209914, 0.000448039960152, 0.000460921200357, 0.000448039960152, 0.000411516209914, 0.000357138997803, 0.00029286517724,  0.000226922900942, 0.000166138027387, 0.000114931719381, 0.000075126107849, 0.000046400430122, 0.00002707903944,  0.000014932228759, 0.000007780296464, // NOLINT
			0.000012596939074, 0.000024176504942, 0.000043843189214, 0.000075126107849, 0.00012163533971,  0.000186083894542, 0.000268991113455, 0.000367406816807, 0.000474172778845, 0.000578237373997, 0.000666278547125, 0.000725413498939, 0.000746269284939, 0.000725413498939, 0.000666278547125, 0.000578237373997, 0.000474172778845, 0.000367406816807, 0.000268991113455, 0.000186083894542, 0.00012163533971,  0.000075126107849, 0.000043843189214, 0.000024176504942, 0.000012596939074, // NOLINT
			0.0000192714345,   0.000036986440017, 0.000067073528281, 0.000114931719381, 0.000186083894542, 0.000284680553289, 0.000411516209914, 0.000562077530395, 0.000725413498939, 0.000884616779795, 0.001019306619236, 0.001109774259343, 0.001141680495572, 0.001109774259343, 0.001019306619236, 0.000884616779795, 0.000725413498939, 0.000562077530395, 0.000411516209914, 0.000284680553289, 0.000186083894542, 0.000114931719381, 0.000067073528281, 0.000036986440017, 0.0000192714345,   // NOLINT
			0.000027857567345, 0.000053465259352, 0.000096957251997, 0.000166138027387, 0.000268991113455, 0.000411516209914, 0.000594861816396, 0.000812503742577, 0.001048611892366, 0.001278746090107, 0.001473445206715, 0.001604219507757, 0.001650341145691, 0.001604219507757, 0.001473445206715, 0.001278746090107, 0.001048611892366, 0.000812503742577, 0.000594861816396, 0.000411516209914, 0.000268991113455, 0.000166138027387, 0.000096957251997, 0.000053465259352, 0.000027857567345, // NOLINT
			0.000038049807709, 0.000073026578819, 0.000132430974634, 0.000226922900942, 0.000367406816807, 0.000562077530395, 0.000812503742577, 0.001109774259343, 0.001432267231776, 0.001746600563998, 0.002012534191876, 0.002191154849819, 0.002254150998507, 0.002191154849819, 0.002012534191876, 0.001746600563998, 0.001432267231776, 0.001109774259343, 0.000812503742577, 0.000562077530395, 0.000367406816807, 0.000226922900942, 0.000132430974634, 0.000073026578819, 0.000038049807709, // NOLINT
			0.000049106827175, 0.000094247613882, 0.000170914529548, 0.00029286517724,  0.000474172778845, 0.000725413498939, 0.001048611892366, 0.001432267231776, 0.001848474503665, 0.002254150998507, 0.002597363158846, 0.002827889784541, 0.002909192192427, 0.002827889784541, 0.002597363158846, 0.002254150998507, 0.001848474503665, 0.001432267231776, 0.001048611892366, 0.000725413498939, 0.000474172778845, 0.00029286517724,  0.000170914529548, 0.000094247613882, 0.000049106827175, // NOLINT
			0.000059884084574, 0.000114931719381, 0.000208424382742, 0.000357138997803, 0.000578237373997, 0.000884616779795, 0.001278746090107, 0.001746600563998, 0.002254150998507, 0.002748859513073, 0.00316739492289,  0.003448514203931, 0.003547659690414, 0.003448514203931, 0.00316739492289,  0.002748859513073, 0.002254150998507, 0.001746600563998, 0.001278746090107, 0.000884616779795, 0.000578237373997, 0.000357138997803, 0.000208424382742, 0.000114931719381, 0.000059884084574, // NOLINT
			0.000069001905895, 0.000132430974634, 0.000240158628901, 0.000411516209914, 0.000666278547125, 0.001019306619236, 0.001473445206715, 0.002012534191876, 0.002597363158846, 0.00316739492289,  0.003649655629848, 0.003973577525187, 0.004087818689212, 0.003973577525187, 0.003649655629848, 0.00316739492289,  0.002597363158846, 0.002012534191876, 0.001473445206715, 0.001019306619236, 0.000666278547125, 0.000411516209914, 0.000240158628901, 0.000132430974634, 0.000069001905895, // NOLINT
			0.000075126107849, 0.000144184766404, 0.000261473691512, 0.000448039960152, 0.000725413498939, 0.001109774259343, 0.001604219507757, 0.002191154849819, 0.002827889784541, 0.003448514203931, 0.003973577525187, 0.004326248816338, 0.00445062935189,  0.004326248816338, 0.003973577525187, 0.003448514203931, 0.002827889784541, 0.002191154849819, 0.001604219507757, 0.001109774259343, 0.000725413498939, 0.000448039960152, 0.000261473691512, 0.000144184766404, 0.000075126107849, // NOLINT
			0.000077285998767, 0.000148330107836, 0.000268991113455, 0.000460921200357, 0.000746269284939, 0.001141680495572, 0.001650341145691, 0.002254150998507, 0.002909192192427, 0.003547659690414, 0.004087818689212, 0.00445062935189,  0.5,			   0.00445062935189,  0.004087818689212, 0.003547659690414, 0.002909192192427, 0.002254150998507, 0.001650341145691, 0.001141680495572, 0.000746269284939, 0.000460921200357, 0.000268991113455, 0.000148330107836, 0.000077285998767, // NOLINT
			0.000075126107849, 0.000144184766404, 0.000261473691512, 0.000448039960152, 0.000725413498939, 0.001109774259343, 0.001604219507757, 0.002191154849819, 0.002827889784541, 0.003448514203931, 0.003973577525187, 0.004326248816338, 0.00445062935189,  0.004326248816338, 0.003973577525187, 0.003448514203931, 0.002827889784541, 0.002191154849819, 0.001604219507757, 0.001109774259343, 0.000725413498939, 0.000448039960152, 0.000261473691512, 0.000144184766404, 0.000075126107849, // NOLINT
			0.000069001905895, 0.000132430974634, 0.000240158628901, 0.000411516209914, 0.000666278547125, 0.001019306619236, 0.001473445206715, 0.002012534191876, 0.002597363158846, 0.00316739492289,  0.003649655629848, 0.003973577525187, 0.004087818689212, 0.003973577525187, 0.003649655629848, 0.00316739492289,  0.002597363158846, 0.002012534191876, 0.001473445206715, 0.001019306619236, 0.000666278547125, 0.000411516209914, 0.000240158628901, 0.000132430974634, 0.000069001905895, // NOLINT
			0.000059884084574, 0.000114931719381, 0.000208424382742, 0.000357138997803, 0.000578237373997, 0.000884616779795, 0.001278746090107, 0.001746600563998, 0.002254150998507, 0.002748859513073, 0.00316739492289,  0.003448514203931, 0.003547659690414, 0.003448514203931, 0.00316739492289,  0.002748859513073, 0.002254150998507, 0.001746600563998, 0.001278746090107, 0.000884616779795, 0.000578237373997, 0.000357138997803, 0.000208424382742, 0.000114931719381, 0.000059884084574, // NOLINT
			0.000049106827175, 0.000094247613882, 0.000170914529548, 0.00029286517724,  0.000474172778845, 0.000725413498939, 0.001048611892366, 0.001432267231776, 0.001848474503665, 0.002254150998507, 0.002597363158846, 0.002827889784541, 0.002909192192427, 0.002827889784541, 0.002597363158846, 0.002254150998507, 0.001848474503665, 0.001432267231776, 0.001048611892366, 0.000725413498939, 0.000474172778845, 0.00029286517724,  0.000170914529548, 0.000094247613882, 0.000049106827175, // NOLINT
			0.000038049807709, 0.000073026578819, 0.000132430974634, 0.000226922900942, 0.000367406816807, 0.000562077530395, 0.000812503742577, 0.001109774259343, 0.001432267231776, 0.001746600563998, 0.002012534191876, 0.002191154849819, 0.002254150998507, 0.002191154849819, 0.002012534191876, 0.001746600563998, 0.001432267231776, 0.001109774259343, 0.000812503742577, 0.000562077530395, 0.000367406816807, 0.000226922900942, 0.000132430974634, 0.000073026578819, 0.000038049807709, // NOLINT
			0.000027857567345, 0.000053465259352, 0.000096957251997, 0.000166138027387, 0.000268991113455, 0.000411516209914, 0.000594861816396, 0.000812503742577, 0.001048611892366, 0.001278746090107, 0.001473445206715, 0.001604219507757, 0.001650341145691, 0.001604219507757, 0.001473445206715, 0.001278746090107, 0.001048611892366, 0.000812503742577, 0.000594861816396, 0.000411516209914, 0.000268991113455, 0.000166138027387, 0.000096957251997, 0.000053465259352, 0.000027857567345, // NOLINT
			0.0000192714345,   0.000036986440017, 0.000067073528281, 0.000114931719381, 0.000186083894542, 0.000284680553289, 0.000411516209914, 0.000562077530395, 0.000725413498939, 0.000884616779795, 0.001019306619236, 0.001109774259343, 0.001141680495572, 0.001109774259343, 0.001019306619236, 0.000884616779795, 0.000725413498939, 0.000562077530395, 0.000411516209914, 0.000284680553289, 0.000186083894542, 0.000114931719381, 0.000067073528281, 0.000036986440017, 0.0000192714345,  // NOLINT
			0.000012596939074, 0.000024176504942, 0.000043843189214, 0.000075126107849, 0.00012163533971,  0.000186083894542, 0.000268991113455, 0.000367406816807, 0.000474172778845, 0.000578237373997, 0.000666278547125, 0.000725413498939, 0.000746269284939, 0.000725413498939, 0.000666278547125, 0.000578237373997, 0.000474172778845, 0.000367406816807, 0.000268991113455, 0.000186083894542, 0.00012163533971,  0.000075126107849, 0.000043843189214, 0.000024176504942, 0.000012596939074, // NOLINT
			0.000007780296464, 0.000014932228759, 0.00002707903944,  0.000046400430122, 0.000075126107849, 0.000114931719381, 0.000166138027387, 0.000226922900942, 0.00029286517724,  0.000357138997803, 0.000411516209914, 0.000448039960152, 0.000460921200357, 0.000448039960152, 0.000411516209914, 0.000357138997803, 0.00029286517724,  0.000226922900942, 0.000166138027387, 0.000114931719381, 0.000075126107849, 0.000046400430122, 0.00002707903944,  0.000014932228759, 0.000007780296464, // NOLINT
			0.000004540538832, 0.000008714367743, 0.000015803180597, 0.00002707903944,  0.000043843189214, 0.000067073528281, 0.000096957251997, 0.000132430974634, 0.000170914529548, 0.000208424382742, 0.000240158628901, 0.000261473691512, 0.000268991113455, 0.000261473691512, 0.000240158628901, 0.000208424382742, 0.000170914529548, 0.000132430974634, 0.000096957251997, 0.000067073528281, 0.000043843189214, 0.00002707903944,  0.000015803180597, 0.000008714367743, 0.000004540538832, // NOLINT
			0.000002503795036, 0.000004805374759, 0.000008714367743, 0.000014932228759, 0.000024176504942, 0.000036986440017, 0.000053465259352, 0.000073026578819, 0.000094247613882, 0.000114931719381, 0.000132430974634, 0.000144184766404, 0.000148330107836, 0.000144184766404, 0.000132430974634, 0.000114931719381, 0.000094247613882, 0.000073026578819, 0.000053465259352, 0.000036986440017, 0.000024176504942, 0.000014932228759, 0.000008714367743, 0.000004805374759, 0.000002503795036, // NOLINT
			0.000001304578706, 0.000002503795036, 0.000004540538832, 0.000007780296464, 0.000012596939074, 0.0000192714345,   0.000027857567345, 0.000038049807709, 0.000049106827175, 0.000059884084574, 0.000069001905895, 0.000075126107849, 0.000077285998767, 0.000075126107849, 0.000069001905895, 0.000059884084574, 0.000049106827175, 0.000038049807709, 0.000027857567345, 0.0000192714345,   0.000012596939074, 0.000007780296464, 0.000004540538832, 0.000002503795036, 0.000001304578706  // NOLINT
		);  // NOLINT(whitespace/parens)

static const cv::Mat win35 =
		(
			cv::Mat_<FLOAT>(35, 35) <<
			0.000000505123778, 0.000000818065534, 0.000001286731872, 0.000001965611574, 0.000002916198102, 0.000004201903024, 0.000005880099933, 0.000007991587682, 0.000010548509792, 0.000013522557343, 0.00001683589595,  0.000020357447062, 0.000023906724403, 0.000027266319275, 0.000030202482152, 0.000032491400898, 0.000033947196716, 0.000034446815355, 0.000033947196716, 0.000032491400898, 0.000030202482152, 0.000027266319275, 0.000023906724403, 0.000020357447062, 0.00001683589595,  0.000013522557343, 0.000010548509792, 0.000007991587682, 0.000005880099933, 0.000004201903024, 0.000002916198102, 0.000001965611574, 0.000001286731872, 0.000000818065534, 0.000000505123778, // NOLINT
			0.000000818065534, 0.000001324885596, 0.000002083907037, 0.000003183376336, 0.000004722884292, 0.000006805128148, 0.000009523026433, 0.000012942654308, 0.000017083678631, 0.000021900252119, 0.000027266319275, 0.000032969593829, 0.000038717771977, 0.000044158752765, 0.000048913970705, 0.000052620954254, 0.000054978666234, 0.000055787816003, 0.000054978666234, 0.000052620954254, 0.000048913970705, 0.000044158752765, 0.000038717771977, 0.000032969593829, 0.000027266319275, 0.000021900252119, 0.000017083678631, 0.000012942654308, 0.000009523026433, 0.000006805128148, 0.000004722884292, 0.000003183376336, 0.000002083907037, 0.000001324885596, 0.000000818065534, // NOLINT
			0.000001286731872, 0.000002083907037, 0.000003277768699, 0.000005007119381, 0.000007428605035, 0.000010703757725, 0.000014978728618, 0.000020357447062, 0.000026870846974, 0.000034446815355, 0.000042887080039, 0.000051857736834, 0.000060899022304, 0.000069457118327, 0.000076936580822, 0.000082767279809, 0.000086475715163, 0.000087748423465, 0.000086475715163, 0.000082767279809, 0.000076936580822, 0.000069457118327, 0.000060899022304, 0.000051857736834, 0.000042887080039, 0.000034446815355, 0.000026870846974, 0.000020357447062, 0.000014978728618, 0.000010703757725, 0.000007428605035, 0.000005007119381, 0.000003277768699, 0.000002083907037, 0.000001286731872, // NOLINT
			0.000001965611574, 0.000003183376336, 0.000005007119381, 0.000007648875439, 0.000011347936862, 0.000016351060026, 0.000022881505452, 0.00003109803561,  0.000041047905149, 0.000052620954254, 0.000065514302368, 0.000079217877459, 0.000093029344911, 0.000106102692176, 0.000117528318892, 0.000126435294515, 0.000132100300267, 0.000134044489437, 0.000132100300267, 0.000126435294515, 0.000117528318892, 0.000106102692176, 0.000093029344911, 0.000079217877459, 0.000065514302368, 0.000052620954254, 0.000041047905149, 0.00003109803561,  0.000022881505452, 0.000016351060026, 0.000011347936862, 0.000007648875439, 0.000005007119381, 0.000003183376336, 0.000001965611574, // NOLINT
			0.000002916198102, 0.000004722884292, 0.000007428605035, 0.000011347936862, 0.00001683589595,  0.000024258572163, 0.000033947196716, 0.000046137310962, 0.000060899022304, 0.000078068896698, 0.000097197577967, 0.000117528318892, 0.000138019129845, 0.00015741485939,  0.00017436601667,  0.0001875804817,   0.000195985132568, 0.000198869548209, 0.000195985132568, 0.0001875804817,   0.00017436601667,  0.00015741485939,  0.000138019129845, 0.000117528318892, 0.000097197577967, 0.000078068896698, 0.000060899022304, 0.000046137310962, 0.000033947196716, 0.000024258572163, 0.00001683589595,  0.000011347936862, 0.000007428605035, 0.000004722884292, 0.000002916198102, // NOLINT
			0.000004201903024, 0.000006805128148, 0.000010703757725, 0.000016351060026, 0.000024258572163, 0.000034953787143, 0.000048913970705, 0.000066478510602, 0.000087748423465, 0.000112488219806, 0.000140050429524, 0.000169344667699, 0.000198869548209, 0.0002268165435,   0.000251241193863, 0.000270281704357, 0.000282391830851, 0.000286547939038, 0.000282391830851, 0.000270281704357, 0.000251241193863, 0.0002268165435,   0.000198869548209, 0.000169344667699, 0.000140050429524, 0.000112488219806, 0.000087748423465, 0.000066478510602, 0.000048913970705, 0.000034953787143, 0.000024258572163, 0.000016351060026, 0.000010703757725, 0.000006805128148, 0.000004201903024, // NOLINT
			0.000005880099933, 0.000009523026433, 0.000014978728618, 0.000022881505452, 0.000033947196716, 0.000048913970705, 0.000068449708191, 0.000093029344911, 0.000122794242502, 0.00015741485939,  0.000195985132568, 0.000236979188579, 0.000278296003103, 0.000317404741259, 0.000351584346103, 0.000378229440917, 0.000395176227546, 0.000400992242653, 0.000395176227546, 0.000378229440917, 0.000351584346103, 0.000317404741259, 0.000278296003103, 0.000236979188579, 0.000195985132568, 0.00015741485939,  0.000122794242502, 0.000093029344911, 0.000068449708191, 0.000048913970705, 0.000033947196716, 0.000022881505452, 0.000014978728618, 0.000009523026433, 0.000005880099933, // NOLINT
			0.000007991587682, 0.000012942654308, 0.000020357447062, 0.00003109803561,  0.000046137310962, 0.000066478510602, 0.000093029344911, 0.000126435294515, 0.000166888482664, 0.000213941032552, 0.000266361522597, 0.00032207615275,  0.000378229440917, 0.000431381753573, 0.000477834928202, 0.000514048022183, 0.000537080238098, 0.000544984728704, 0.000537080238098, 0.000514048022183, 0.000477834928202, 0.000431381753573, 0.000378229440917, 0.00032207615275,  0.000266361522597, 0.000213941032552, 0.000166888482664, 0.000126435294515, 0.000093029344911, 0.000066478510602, 0.000046137310962, 0.00003109803561,  0.000020357447062, 0.000012942654308, 0.000007991587682, // NOLINT
			0.000010548509792, 0.000017083678631, 0.000026870846974, 0.000041047905149, 0.000060899022304, 0.000087748423465, 0.000122794242502, 0.000166888482664, 0.000220284737366, 0.000282391830851, 0.000351584346103, 0.000425124967209, 0.000499244595711, 0.000569403081466, 0.000630719028557, 0.000678518563727, 0.000708919976412, 0.000719353522271, 0.000708919976412, 0.000678518563727, 0.000630719028557, 0.000569403081466, 0.000499244595711, 0.000425124967209, 0.000351584346103, 0.000282391830851, 0.000220284737366, 0.000166888482664, 0.000122794242502, 0.000087748423465, 0.000060899022304, 0.000041047905149, 0.000026870846974, 0.000017083678631, 0.000010548509792, // NOLINT
			0.000013522557343, 0.000021900252119, 0.000034446815355, 0.000052620954254, 0.000078068896698, 0.000112488219806, 0.00015741485939,  0.000213941032552, 0.000282391830851, 0.0003620094024,   0.000450710059998, 0.000544984728704, 0.000640001650189, 0.000729940624078, 0.000808543993365, 0.000869820132657, 0.000908792921654, 0.000922168102125, 0.000908792921654, 0.000869820132657, 0.000808543993365, 0.000729940624078, 0.000640001650189, 0.000544984728704, 0.000450710059998, 0.0003620094024,   0.000282391830851, 0.000213941032552, 0.00015741485939,  0.000112488219806, 0.000078068896698, 0.000052620954254, 0.000034446815355, 0.000021900252119, 0.000013522557343, // NOLINT
			0.00001683589595,  0.000027266319275, 0.000042887080039, 0.000065514302368, 0.000097197577967, 0.000140050429524, 0.000195985132568, 0.000266361522597, 0.000351584346103, 0.000450710059998, 0.000561144425633, 0.000678518563727, 0.00079681682366,  0.000908792921654, 0.001006655930328, 0.001082946137802, 0.001131468159469, 0.001148120567812, 0.001131468159469, 0.001082946137802, 0.001006655930328, 0.000908792921654, 0.00079681682366,  0.000678518563727, 0.000561144425633, 0.000450710059998, 0.000351584346103, 0.000266361522597, 0.000195985132568, 0.000140050429524, 0.000097197577967, 0.000065514302368, 0.000042887080039, 0.000027266319275, 0.00001683589595,  // NOLINT
			0.000020357447062, 0.000032969593829, 0.000051857736834, 0.000079217877459, 0.000117528318892, 0.000169344667699, 0.000236979188579, 0.00032207615275,  0.000425124967209, 0.000544984728704, 0.000678518563727, 0.000820443757957, 0.000963486371862, 0.001098884422189, 0.001217217359405, 0.001309465129564, 0.001368136464335, 0.001388272043831, 0.001368136464335, 0.001309465129564, 0.001217217359405, 0.001098884422189, 0.000963486371862, 0.000820443757957, 0.000678518563727, 0.000544984728704, 0.000425124967209, 0.00032207615275,  0.000236979188579, 0.000169344667699, 0.000117528318892, 0.000079217877459, 0.000051857736834, 0.000032969593829, 0.000020357447062, // NOLINT
			0.000023906724403, 0.000038717771977, 0.000060899022304, 0.000093029344911, 0.000138019129845, 0.000198869548209, 0.000278296003103, 0.000378229440917, 0.000499244595711, 0.000640001650189, 0.00079681682366,  0.000963486371862, 0.001131468159469, 0.001290472570194, 0.001429436601847, 0.001537767573375, 0.001606668129838, 0.001630314304541, 0.001606668129838, 0.001537767573375, 0.001429436601847, 0.001290472570194, 0.001131468159469, 0.000963486371862, 0.00079681682366,  0.000640001650189, 0.000499244595711, 0.000378229440917, 0.000278296003103, 0.000198869548209, 0.000138019129845, 0.000093029344911, 0.000060899022304, 0.000038717771977, 0.000023906724403, // NOLINT
			0.000027266319275, 0.000044158752765, 0.000069457118327, 0.000106102692176, 0.00015741485939,  0.0002268165435,   0.000317404741259, 0.000431381753573, 0.000569403081466, 0.000729940624078, 0.000908792921654, 0.001098884422189, 0.001290472570194, 0.001471821756968, 0.001630314304541, 0.001753868949971, 0.001832452052326, 0.001859421207038, 0.001832452052326, 0.001753868949971, 0.001630314304541, 0.001471821756968, 0.001290472570194, 0.001098884422189, 0.000908792921654, 0.000729940624078, 0.000569403081466, 0.000431381753573, 0.000317404741259, 0.0002268165435,   0.00015741485939,  0.000106102692176, 0.000069457118327, 0.000044158752765, 0.000027266319275, // NOLINT
			0.000030202482152, 0.000048913970705, 0.000076936580822, 0.000117528318892, 0.00017436601667,  0.000251241193863, 0.000351584346103, 0.000477834928202, 0.000630719028557, 0.000808543993365, 0.001006655930328, 0.001217217359405, 0.001429436601847, 0.001630314304541, 0.001805874059823, 0.001942733638697, 0.002029778931551, 0.002059652249091, 0.002029778931551, 0.001942733638697, 0.001805874059823, 0.001630314304541, 0.001429436601847, 0.001217217359405, 0.001006655930328, 0.000808543993365, 0.000630719028557, 0.000477834928202, 0.000351584346103, 0.000251241193863, 0.00017436601667,  0.000117528318892, 0.000076936580822, 0.000048913970705, 0.000030202482152, // NOLINT
			0.000032491400898, 0.000052620954254, 0.000082767279809, 0.000126435294515, 0.0001875804817,   0.000270281704357, 0.000378229440917, 0.000514048022183, 0.000678518563727, 0.000869820132657, 0.001082946137802, 0.001309465129564, 0.001537767573375, 0.001753868949971, 0.001942733638697, 0.002089965227861, 0.002183607316354, 0.002215744606642, 0.002183607316354, 0.002089965227861, 0.001942733638697, 0.001753868949971, 0.001537767573375, 0.001309465129564, 0.001082946137802, 0.000869820132657, 0.000678518563727, 0.000514048022183, 0.000378229440917, 0.000270281704357, 0.0001875804817,   0.000126435294515, 0.000082767279809, 0.000052620954254, 0.000032491400898, // NOLINT
			0.000033947196716, 0.000054978666234, 0.000086475715163, 0.000132100300267, 0.000195985132568, 0.000282391830851, 0.000395176227546, 0.000537080238098, 0.000708919976412, 0.000908792921654, 0.001131468159469, 0.001368136464335, 0.001606668129838, 0.001832452052326, 0.002029778931551, 0.002183607316354, 0.002281445092231, 0.002315022312208, 0.002281445092231, 0.002183607316354, 0.002029778931551, 0.001832452052326, 0.001606668129838, 0.001368136464335, 0.001131468159469, 0.000908792921654, 0.000708919976412, 0.000537080238098, 0.000395176227546, 0.000282391830851, 0.000195985132568, 0.000132100300267, 0.000086475715163, 0.000054978666234, 0.000033947196716, // NOLINT
			0.000034446815355, 0.000055787816003, 0.000087748423465, 0.000134044489437, 0.000198869548209, 0.000286547939038, 0.000400992242653, 0.000544984728704, 0.000719353522271, 0.000922168102125, 0.001148120567812, 0.001388272043831, 0.001630314304541, 0.001859421207038, 0.002059652249091, 0.002215744606642, 0.002315022312208, 0.500000000000001, 0.002315022312208, 0.002215744606642, 0.002059652249091, 0.001859421207038, 0.001630314304541, 0.001388272043831, 0.001148120567812, 0.000922168102125, 0.000719353522271, 0.000544984728704, 0.000400992242653, 0.000286547939038, 0.000198869548209, 0.000134044489437, 0.000087748423465, 0.000055787816003, 0.000034446815355, // NOLINT
			0.000033947196716, 0.000054978666234, 0.000086475715163, 0.000132100300267, 0.000195985132568, 0.000282391830851, 0.000395176227546, 0.000537080238098, 0.000708919976412, 0.000908792921654, 0.001131468159469, 0.001368136464335, 0.001606668129838, 0.001832452052326, 0.002029778931551, 0.002183607316354, 0.002281445092231, 0.002315022312208, 0.002281445092231, 0.002183607316354, 0.002029778931551, 0.001832452052326, 0.001606668129838, 0.001368136464335, 0.001131468159469, 0.000908792921654, 0.000708919976412, 0.000537080238098, 0.000395176227546, 0.000282391830851, 0.000195985132568, 0.000132100300267, 0.000086475715163, 0.000054978666234, 0.000033947196716, // NOLINT
			0.000032491400898, 0.000052620954254, 0.000082767279809, 0.000126435294515, 0.0001875804817, 	0.000270281704357, 0.000378229440917, 0.000514048022183, 0.000678518563727, 0.000869820132657, 0.001082946137802, 0.001309465129564, 0.001537767573375, 0.001753868949971, 0.001942733638697, 0.002089965227861, 0.002183607316354, 0.002215744606642, 0.002183607316354, 0.002089965227861, 0.001942733638697, 0.001753868949971, 0.001537767573375, 0.001309465129564, 0.001082946137802, 0.000869820132657, 0.000678518563727, 0.000514048022183, 0.000378229440917, 0.000270281704357, 0.0001875804817,  0.000126435294515, 0.000082767279809, 0.000052620954254, 0.000032491400898, // NOLINT
			0.000030202482152, 0.000048913970705, 0.000076936580822, 0.000117528318892, 0.00017436601667,  0.000251241193863, 0.000351584346103, 0.000477834928202, 0.000630719028557, 0.000808543993365, 0.001006655930328, 0.001217217359405, 0.001429436601847, 0.001630314304541, 0.001805874059823, 0.001942733638697, 0.002029778931551, 0.002059652249091, 0.002029778931551, 0.001942733638697, 0.001805874059823, 0.001630314304541, 0.001429436601847, 0.001217217359405, 0.001006655930328, 0.000808543993365, 0.000630719028557, 0.000477834928202, 0.000351584346103, 0.000251241193863, 0.00017436601667,  0.000117528318892, 0.000076936580822, 0.000048913970705, 0.000030202482152, // NOLINT
			0.000027266319275, 0.000044158752765, 0.000069457118327, 0.000106102692176, 0.00015741485939,  0.0002268165435,   0.000317404741259, 0.000431381753573, 0.000569403081466, 0.000729940624078, 0.000908792921654, 0.001098884422189, 0.001290472570194, 0.001471821756968, 0.001630314304541, 0.001753868949971, 0.001832452052326, 0.001859421207038, 0.001832452052326, 0.001753868949971, 0.001630314304541, 0.001471821756968, 0.001290472570194, 0.001098884422189, 0.000908792921654, 0.000729940624078, 0.000569403081466, 0.000431381753573, 0.000317404741259, 0.0002268165435,   0.00015741485939,  0.000106102692176, 0.000069457118327, 0.000044158752765, 0.000027266319275, // NOLINT
			0.000023906724403, 0.000038717771977, 0.000060899022304, 0.000093029344911, 0.000138019129845, 0.000198869548209, 0.000278296003103, 0.000378229440917, 0.000499244595711, 0.000640001650189, 0.00079681682366,  0.000963486371862, 0.001131468159469, 0.001290472570194, 0.001429436601847, 0.001537767573375, 0.001606668129838, 0.001630314304541, 0.001606668129838, 0.001537767573375, 0.001429436601847, 0.001290472570194, 0.001131468159469, 0.000963486371862, 0.00079681682366,  0.000640001650189, 0.000499244595711, 0.000378229440917, 0.000278296003103, 0.000198869548209, 0.000138019129845, 0.000093029344911, 0.000060899022304, 0.000038717771977, 0.000023906724403, // NOLINT
			0.000020357447062, 0.000032969593829, 0.000051857736834, 0.000079217877459, 0.000117528318892, 0.000169344667699, 0.000236979188579, 0.00032207615275,  0.000425124967209, 0.000544984728704, 0.000678518563727, 0.000820443757957, 0.000963486371862, 0.001098884422189, 0.001217217359405, 0.001309465129564, 0.001368136464335, 0.001388272043831, 0.001368136464335, 0.001309465129564, 0.001217217359405, 0.001098884422189, 0.000963486371862, 0.000820443757957, 0.000678518563727, 0.000544984728704, 0.000425124967209, 0.00032207615275,  0.000236979188579, 0.000169344667699, 0.000117528318892, 0.000079217877459, 0.000051857736834, 0.000032969593829, 0.000020357447062, // NOLINT
			0.00001683589595,  0.000027266319275, 0.000042887080039, 0.000065514302368, 0.000097197577967, 0.000140050429524, 0.000195985132568, 0.000266361522597, 0.000351584346103, 0.000450710059998, 0.000561144425633, 0.000678518563727, 0.00079681682366,  0.000908792921654, 0.001006655930328, 0.001082946137802, 0.001131468159469, 0.001148120567812, 0.001131468159469, 0.001082946137802, 0.001006655930328, 0.000908792921654, 0.00079681682366,  0.000678518563727, 0.000561144425633, 0.000450710059998, 0.000351584346103, 0.000266361522597, 0.000195985132568, 0.000140050429524, 0.000097197577967, 0.000065514302368, 0.000042887080039, 0.000027266319275, 0.00001683589595,  // NOLINT
			0.000013522557343, 0.000021900252119, 0.000034446815355, 0.000052620954254, 0.000078068896698, 0.000112488219806, 0.00015741485939,  0.000213941032552, 0.000282391830851, 0.0003620094024,   0.000450710059998, 0.000544984728704, 0.000640001650189, 0.000729940624078, 0.000808543993365, 0.000869820132657, 0.000908792921654, 0.000922168102125, 0.000908792921654, 0.000869820132657, 0.000808543993365, 0.000729940624078, 0.000640001650189, 0.000544984728704, 0.000450710059998, 0.0003620094024,   0.000282391830851, 0.000213941032552, 0.00015741485939,  0.000112488219806, 0.000078068896698, 0.000052620954254, 0.000034446815355, 0.000021900252119, 0.000013522557343, // NOLINT
			0.000010548509792, 0.000017083678631, 0.000026870846974, 0.000041047905149, 0.000060899022304, 0.000087748423465, 0.000122794242502, 0.000166888482664, 0.000220284737366, 0.000282391830851, 0.000351584346103, 0.000425124967209, 0.000499244595711, 0.000569403081466, 0.000630719028557, 0.000678518563727, 0.000708919976412, 0.000719353522271, 0.000708919976412, 0.000678518563727, 0.000630719028557, 0.000569403081466, 0.000499244595711, 0.000425124967209, 0.000351584346103, 0.000282391830851, 0.000220284737366, 0.000166888482664, 0.000122794242502, 0.000087748423465, 0.000060899022304, 0.000041047905149, 0.000026870846974, 0.000017083678631, 0.000010548509792, // NOLINT
			0.000007991587682, 0.000012942654308, 0.000020357447062, 0.00003109803561,  0.000046137310962, 0.000066478510602, 0.000093029344911, 0.000126435294515, 0.000166888482664, 0.000213941032552, 0.000266361522597, 0.00032207615275,  0.000378229440917, 0.000431381753573, 0.000477834928202, 0.000514048022183, 0.000537080238098, 0.000544984728704, 0.000537080238098, 0.000514048022183, 0.000477834928202, 0.000431381753573, 0.000378229440917, 0.00032207615275,  0.000266361522597, 0.000213941032552, 0.000166888482664, 0.000126435294515, 0.000093029344911, 0.000066478510602, 0.000046137310962, 0.00003109803561,  0.000020357447062, 0.000012942654308, 0.000007991587682, // NOLINT
			0.000005880099933, 0.000009523026433, 0.000014978728618, 0.000022881505452, 0.000033947196716, 0.000048913970705, 0.000068449708191, 0.000093029344911, 0.000122794242502, 0.00015741485939,  0.000195985132568, 0.000236979188579, 0.000278296003103, 0.000317404741259, 0.000351584346103, 0.000378229440917, 0.000395176227546, 0.000400992242653, 0.000395176227546, 0.000378229440917, 0.000351584346103, 0.000317404741259, 0.000278296003103, 0.000236979188579, 0.000195985132568, 0.00015741485939,  0.000122794242502, 0.000093029344911, 0.000068449708191, 0.000048913970705, 0.000033947196716, 0.000022881505452, 0.000014978728618, 0.000009523026433, 0.000005880099933, // NOLINT
			0.000004201903024, 0.000006805128148, 0.000010703757725, 0.000016351060026, 0.000024258572163, 0.000034953787143, 0.000048913970705, 0.000066478510602, 0.000087748423465, 0.000112488219806, 0.000140050429524, 0.000169344667699, 0.000198869548209, 0.0002268165435,   0.000251241193863, 0.000270281704357, 0.000282391830851, 0.000286547939038, 0.000282391830851, 0.000270281704357, 0.000251241193863, 0.0002268165435,   0.000198869548209, 0.000169344667699, 0.000140050429524, 0.000112488219806, 0.000087748423465, 0.000066478510602, 0.000048913970705, 0.000034953787143, 0.000024258572163, 0.000016351060026, 0.000010703757725, 0.000006805128148, 0.000004201903024, // NOLINT
			0.000002916198102, 0.000004722884292, 0.000007428605035, 0.000011347936862, 0.00001683589595,  0.000024258572163, 0.000033947196716, 0.000046137310962, 0.000060899022304, 0.000078068896698, 0.000097197577967, 0.000117528318892, 0.000138019129845, 0.00015741485939,  0.00017436601667,  0.0001875804817,   0.000195985132568, 0.000198869548209, 0.000195985132568, 0.0001875804817,   0.00017436601667,  0.00015741485939,  0.000138019129845, 0.000117528318892, 0.000097197577967, 0.000078068896698, 0.000060899022304, 0.000046137310962, 0.000033947196716, 0.000024258572163, 0.00001683589595,  0.000011347936862, 0.000007428605035, 0.000004722884292, 0.000002916198102, // NOLINT
			0.000001965611574, 0.000003183376336, 0.000005007119381, 0.000007648875439, 0.000011347936862, 0.000016351060026, 0.000022881505452, 0.00003109803561,  0.000041047905149, 0.000052620954254, 0.000065514302368, 0.000079217877459, 0.000093029344911, 0.000106102692176, 0.000117528318892, 0.000126435294515, 0.000132100300267, 0.000134044489437, 0.000132100300267, 0.000126435294515, 0.000117528318892, 0.000106102692176, 0.000093029344911, 0.000079217877459, 0.000065514302368, 0.000052620954254, 0.000041047905149, 0.00003109803561,  0.000022881505452, 0.000016351060026, 0.000011347936862, 0.000007648875439, 0.000005007119381, 0.000003183376336, 0.000001965611574, // NOLINT
			0.000001286731872, 0.000002083907037, 0.000003277768699, 0.000005007119381, 0.000007428605035, 0.000010703757725, 0.000014978728618, 0.000020357447062, 0.000026870846974, 0.000034446815355, 0.000042887080039, 0.000051857736834, 0.000060899022304, 0.000069457118327, 0.000076936580822, 0.000082767279809, 0.000086475715163, 0.000087748423465, 0.000086475715163, 0.000082767279809, 0.000076936580822, 0.000069457118327, 0.000060899022304, 0.000051857736834, 0.000042887080039, 0.000034446815355, 0.000026870846974, 0.000020357447062, 0.000014978728618, 0.000010703757725, 0.000007428605035, 0.000005007119381, 0.000003277768699, 0.000002083907037, 0.000001286731872, // NOLINT
			0.000000818065534, 0.000001324885596, 0.000002083907037, 0.000003183376336, 0.000004722884292, 0.000006805128148, 0.000009523026433, 0.000012942654308, 0.000017083678631, 0.000021900252119, 0.000027266319275, 0.000032969593829, 0.000038717771977, 0.000044158752765, 0.000048913970705, 0.000052620954254, 0.000054978666234, 0.000055787816003, 0.000054978666234, 0.000052620954254, 0.000048913970705, 0.000044158752765, 0.000038717771977, 0.000032969593829, 0.000027266319275, 0.000021900252119, 0.000017083678631, 0.000012942654308, 0.000009523026433, 0.000006805128148, 0.000004722884292, 0.000003183376336, 0.000002083907037, 0.000001324885596, 0.000000818065534, // NOLINT
			0.000000505123778, 0.000000818065534, 0.000001286731872, 0.000001965611574, 0.000002916198102, 0.000004201903024, 0.000005880099933, 0.000007991587682, 0.000010548509792, 0.000013522557343, 0.00001683589595,  0.000020357447062, 0.000023906724403, 0.000027266319275, 0.000030202482152, 0.000032491400898, 0.000033947196716, 0.000034446815355, 0.000033947196716, 0.000032491400898, 0.000030202482152, 0.000027266319275, 0.000023906724403, 0.000020357447062, 0.00001683589595,  0.000013522557343, 0.000010548509792, 0.000007991587682, 0.000005880099933, 0.000004201903024, 0.000002916198102, 0.000001965611574, 0.000001286731872, 0.000000818065534, 0.000000505123778  // NOLINT
		);  // NOLINT(whitespace/parens)

static const cv::Mat window[] = {win3, win5, win9, win17, win25, win35};

#endif  // SOURCE_MODIFIEDGAUSSIANWINDOWS_H_
